#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <queue>
#include <algorithm>

#define FOR(i,a,n) for(int i=a;i<n;++i)
#define REP(i,n) FOR(i,0,n)

using namespace std;

typedef pair<int,double> Pid;
#define b first
#define v second
const double eps = 1e-8;

vector<Pid> cup[60];

bool equ(double a, double b)
{
    if(fabs(a-b)<eps) return true;
    return false;
}
int main()
{
    int n,m;
    double w;
    cin>>n>>w>>m;
    int bi = 1;
    int cupi = 0;
    double vcupMax = w*n/m;
    double vcup = 0;
    double vb = w;
    bool ok = true;
    while(bi<=n&&cupi<m)
    {
        if(equ(vb,vcupMax-vcup))
        {
            cup[cupi].push_back(Pid(bi,vb));
            vb=w;
            vcup=0;
            bi++,cupi++;
        }
        else if(vb<vcupMax-vcup)
        {
            cup[cupi].push_back(Pid(bi,vb));
            vcup += vb;
            vb = w;
            bi++;
        }
        else
        {
            if(!equ(vb,w))
            {
                ok = false;
                break;
            }
            cup[cupi].push_back(Pid(bi,vcupMax-vcup));
            vb -= vcupMax-vcup;
            vcup = 0;
            cupi++;
        }
    }
    if(!ok) puts("NO");
    else
    {
        puts("YES");
        REP(i,m)
        {
            REP(j,cup[i].size())
            {
                printf("%d %.6f ",cup[i][j].b,cup[i][j].v);
            }
            cout<<endl;
        }
    }
    return 0;
}
